//
//  IMB_NetWorkAcessOperation.h
//  InvestChina
//
//  Created by 闫建刚 on 14-3-30.
//  Copyright (c) 2014年 iMobile. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "NotificationMacro.h"

@interface IMB_NetWorkAcessOperation : NSOperation

{    
    /**
     *  已经结束请求处理回调Block
     */
    DidFinishRequestHandler block_;
    
    /**
     *  处理完毕后的消息
     */
    NSString *message_;
    
    /**
     *  处理完毕后的响应数据
     */
    NSMutableData *responseData_;
    
    /**
     *  是否在执行
     */
    BOOL executing_;
    
    /**
     *  是否已经结束
     */
    BOOL finished_;
    
    /**
     *  参数字典
     */
@public
    NSDictionary *paramsDict_;
}

/**
 *  初始化方法
 *
 *  @param urlStr     url字符串
 *  @param method     请求方法："GET"/"POST"
 *  @param paramsDict 参数字典
 *  @param block      请求处理完毕后的回调Block
 *
 *  @return IMB_NetWorkAcessOperation对象
 */
- (id)initWithUrlStr:(NSString*)urlStr
       requestMethod:(NSString*)method
        paramsValues:(NSDictionary*)paramsDict
     completeHandler:(DidFinishRequestHandler)block;

/**
 * 网络访问完毕后的处理（子类可重写此方法，实现自定义处理）
 */
- (void)netAccessComplete;

/**
 *  取消网络请求访问
 */
- (void)cancelNetAccess;


/**
 *  是否缓存数据
 *
 *  @param  缓存响应对象 *
 *  @return 是否缓存数据标识
 */
- (BOOL)canCacheData:(NSCachedURLResponse*)cachedResponse;

@end
